package com.cash.channel.svc.model;

import com.cash.user.model.UserAddressModel;
import com.cash.user.model.UserContactModel;
import com.cash.user.model.UserJobModel;
import lombok.Data;
import lombok.ToString;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * Created by chengbingzheng on 2019/4/30.
 */
@Data
@ToString
public class OrderInfoModel implements Serializable {

    /**
     * 提交类型： 1：认证 2：订单提交
     */
    private Integer type;

    /**
     * 1:最终提交 0：不是最终提交
     */
    private Integer isFinal;


    /**
     * 订单号
     */
    private String cAppId;
    /**
     * 用户UID
     */
    private String cUid;

    /**
     * 用户姓名
     */
    private String cName;

    /**
     * 身份证号
     */
    private String cIdno;

    /**
     * 用户手机
     */
    private String cMobile;

    /**
     * 用户婚姻状况
     */
    private String cMarriage;

    /**
     * 用户学历
     */
    private String cScholarship;

    /**
     * email
     */
    private String cEmail;


    /**
     * 身份证有效期
     *
     * @return
     */
    private String cIdnoValid;
    /**
     * 地址信息
     */
    private UserAddressModel userAddressModel;

    /**
     * 工作信息
     *
     * @return
     */
    private UserJobModel userJobModel;

    /**
     * 联系人信息
     *
     * @return
     */
    private UserContactModel userContactModel;

    /**
     * 经度
     *
     * @return
     */
    private String cLongitude;
    /**
     * 纬度
     *
     * @return
     */
    private String cLatitude;
    /**
     * 客户端mac地址
     */
    private String cMacAddr;
    /**
     * 客户操作系统
     */
    private String cOsType;
    /**
     * 手机imei
     */
    private String cImei;
    /**
     * 客户端IP
     */
    private String cClientIp;

    private String cPurpose;

    private List<FileInfoModel> fileInfoModels;

    /**
     * 子女个数
     * @return
     */
    private Integer cChildrenNumber;

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getcAppId() {
        return cAppId;
    }

    public void setcAppId(String cAppId) {
        this.cAppId = cAppId;
    }

    public String getcUid() {
        return cUid;
    }

    public void setcUid(String cUid) {
        this.cUid = cUid;
    }

    public String getcName() {
        return cName;
    }

    public void setcName(String cName) {
        this.cName = cName;
    }

    public String getcIdno() {
        return cIdno;
    }

    public void setcIdno(String cIdno) {
        this.cIdno = cIdno;
    }

    public String getcMobile() {
        return cMobile;
    }

    public void setcMobile(String cMobile) {
        this.cMobile = cMobile;
    }

    public String getcMarriage() {
        return cMarriage;
    }

    public void setcMarriage(String cMarriage) {
        this.cMarriage = cMarriage;
    }

    public String getcScholarship() {
        return cScholarship;
    }

    public void setcScholarship(String cScholarship) {
        this.cScholarship = cScholarship;
    }

    public String getcEmail() {
        return cEmail;
    }

    public void setcEmail(String cEmail) {
        this.cEmail = cEmail;
    }


    public String getcIdnoValid() {
        return cIdnoValid;
    }

    public void setcIdnoValid(String cIdnoValid) {
        this.cIdnoValid = cIdnoValid;
    }

    public UserAddressModel getUserAddressModel() {
        return userAddressModel;
    }

    public void setUserAddressModel(UserAddressModel userAddressModel) {
        this.userAddressModel = userAddressModel;
    }

    public UserJobModel getUserJobModel() {
        return userJobModel;
    }

    public void setUserJobModel(UserJobModel userJobModel) {
        this.userJobModel = userJobModel;
    }

    public UserContactModel getUserContactModel() {
        return userContactModel;
    }

    public void setUserContactModel(UserContactModel userContactModel) {
        this.userContactModel = userContactModel;
    }

    public String getcLongitude() {
        return cLongitude;
    }

    public void setcLongitude(String cLongitude) {
        this.cLongitude = cLongitude;
    }

    public String getcLatitude() {
        return cLatitude;
    }

    public void setcLatitude(String cLatitude) {
        this.cLatitude = cLatitude;
    }

    public String getcMacAddr() {
        return cMacAddr;
    }

    public void setcMacAddr(String cMacAddr) {
        this.cMacAddr = cMacAddr;
    }

    public String getcOsType() {
        return cOsType;
    }

    public void setcOsType(String cOsType) {
        this.cOsType = cOsType;
    }

    public String getcImei() {
        return cImei;
    }

    public void setcImei(String cImei) {
        this.cImei = cImei;
    }

    public String getcClientIp() {
        return cClientIp;
    }

    public void setcClientIp(String cClientIp) {
        this.cClientIp = cClientIp;
    }

    public List<FileInfoModel> getFileInfoModels() {
        return fileInfoModels;
    }

    public void setFileInfoModels(List<FileInfoModel> fileInfoModels) {
        this.fileInfoModels = fileInfoModels;
    }

    public void addFileInfoModel(FileInfoModel fileInfoModel){
        if (fileInfoModels==null) {
            fileInfoModels = new ArrayList<>();
        }
        fileInfoModels.add(fileInfoModel);
    }

    public Integer getcChildrenNumber() {
        return cChildrenNumber;
    }

    public void setcChildrenNumber(Integer cChildrenNumber) {
        this.cChildrenNumber = cChildrenNumber;
    }
}
